#ifndef __OGAME_AI_H__
#define __OGAME_AI_H__

class oDamageReaction: public oAILeaf
{
public:
	virtual bool doAction();
};

class oBunnyForwardReturn: public oAILeaf
{
public:
	virtual bool doAction();
};

class oBunnySearchAttack: public oAILeaf
{
public:
	virtual bool doAction();
};

class oBunnyForwardJump: public oAILeaf
{
public:
	virtual bool doAction();
};

class oBunnySwitcher: public oAILeaf
{
public:
	virtual bool doAction();
};

class oHeroControl: public oAILeaf
{
public:
	virtual bool doAction();
};

class oHeroFight: public oAILeaf
{
public:
	virtual bool doAction();
};

class oGameAI
{
public:
	~oGameAI();
	oInstinct* damegeReaction;
	oAILeaf* bunnyForwardReturn;
	oAILeaf* bunnySearchAttack;
	oAILeaf* bunnyForwardJump;
	oAILeaf* bunnySwitcher;
	oAILeaf* heroControl;
	oAILeaf* heroFight;
	oAILeaf* getRandomBunnyAI();
	static oGameAI& sharedAI();
private:
	oGameAI();
};

#define oSharedGameAI oGameAI::sharedAI()

#endif